home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / Library / wwbbs_lib.c < prev    next >
C/C++ Source or Header  |  1995-03-29  |  1KB  |  72 lines

  1. #include "wwbbs.h"
  2.  
  3. __asm
  4. void LogEntry(register __a0 BYTE *id,register __a1 BYTE *log,register __a2 BYTE *text)
  5.     {
  6.         BPTR fh;
  7.         BYTE file[256];
  8.         sprintf(file,"WWBBS:Logs/%s",log);
  9.         if(fh=Open(file,MODE_READWRITE))
  10.             {
  11.                 Seek(fh,0,OFFSET_END);
  12.                 {
  13.                     char date[9],time[9];
  14.                     {
  15.                         struct DateTime dt;
  16.                         DateStamp(&dt.dat_Stamp);
  17.                         dt.dat_Format=FORMAT_USA;
  18.                         dt.dat_Flags=NULL;
  19.                         dt.dat_StrDay=NULL;
  20.                         dt.dat_StrDate=date;
  21.                         dt.dat_StrTime=time;
  22.                         DateToStr(&dt);
  23.                     }
  24.                     {
  25.                         char s[256];
  26.                         sprintf(s,"%s %s %s %s\n",date,time,(id) ? id : "<None>",text);
  27.                         FPuts(fh,s);
  28.                     }
  29.                 }
  30.                 Close(fh);
  31.             }
  32.     }
  33.  
  34. __asm
  35. BOOL IsRange(register __a0 BYTE *range,register __d0 ULONG num)
  36.     {
  37.         BOOL ret=FALSE;
  38.         char rangebuff[256],*token;
  39.         if(strlen(range)>255)
  40.             {
  41.                 strncpy(rangebuff,range,255);
  42.                 range[255]=NULL;
  43.             }
  44.         else
  45.             strcpy(rangebuff,range);
  46.         token=strtok(rangebuff,", ");
  47.         while(token)
  48.             {
  49.                 if(strchr(token,'-'))
  50.                     {
  51.                         ULONG buff_low=0,buff_high=0;
  52.                         if(*token=='-')
  53.                             buff_high=atol(&token[1]);
  54.                         else
  55.                             sscanf(token,"%ld-%ld",&buff_low,&buff_high);
  56.                         if(!buff_high)
  57.                             buff_high=(ULONG) ~0;
  58.                         if(buff_low<=num && buff_high>=num)
  59.                             ret=TRUE;
  60.                     }
  61.                 else
  62.                     {
  63.                         ULONG buff;
  64.                         buff=atol(token);
  65.                         if(buff==num)
  66.                             ret=TRUE;
  67.                     }
  68.                 token=strtok(NULL,", ");
  69.             }
  70.         return(ret);
  71.     }
  72.